
**********************************************
20112-4

    °ѧڿѧеϵ
.

**********************************************
ʱ:	2011410  9:30

汾:		v0.901

1 ޸ʱ:2011223  10:07

  ҪRadASMͿexeļ,ҪĶPC80X86ļ;

2 ޸ʱ:2011224  9:20

  "벢"""ť;

3 ޸ʱ:2011225  7:14

  "벢"""Ĳ˵Ϳݼ;

4 ޸ʱ:2011226  10:13

  ޸˿ݰťͼ;

5 ޸ʱ:201134  11:37

  AddressList.cs޸Reset():
  StaticMaxAddr[ i ] = UnitList.Get( i ).StartAddress - 1;
  ԭǵ-1ûо̬ʱ(ͷʱֵ);

  , Ǻ..
  һһǧԪĵԪ,ϣܵ..

6 ޸ʱ:201134  6:17

  PC80X86Ļеeorĳxor(ûeorָ,Ǵ...);

7 ޸ʱ:201135 ҹ 1:23

  ԪЭĵĳͼ; (ҹ1... ǸŮ,ֵֹ ..)

8 ޸ʱ:2011410  9:30

  standard.csе˫Ŀ㺯ָļ,PC80X86ָ,
  AVRָûпԪس,Ĭָֽ͵ָ.

**********************************************
ʱ:	2011520 ҹ 001

1 ޸ʱ:2011410  3:13
  Macro.cs  eployMacro()ж϶ջС(Ԥ100)

**********************************************
ʱ:	201166  204

1 ޸ʱ:201166  204
  ﷨пԶԪǶ,ǲ֧Ƕ׺,ȷ;

**********************************************
ʱ:	2011615  648

Ƕ׵ĺͱ,Ԫpublic,ref η(ʵʺ);

**********************************************
ʱ:	2011624  554

Ԫ(refؼЧ),ͱʱ޷ʹ;
޸巽ʽ,ʹmain,ͨstartηָĳΪʼ,ʼڵԪû;

**********************************************
ʱ:	2011627  923

1 ʹԪ, ϵͳԶԪ(basecodeԪ);
2 Ľָʽ(ȥ@,ԪǶ׶);

3 ⻰:⼸һֱæҹ,ԼŪ,ʲôð?Ҳò
  Ū,кصĶȫɾ˰,ȻúѧѧC++ ASP JavaЩ֪ʶ,
  ϾҪ
  ⼸Լ˼뷢˺ܴı仯,....Сʱ,Сʱ?

**********************************************
ʱ:	2011627  449

޸ʱ:	2011627  1025

1 ޸ParseTypeеGetType,ԪǶ;
2 ޸﷨,ʹеԪԶ;

޸ʱ:	2011627  449

1 ˺öط,ڶʱʹǶԪ;
2 Ľ˱λõİȫ,ԪǷЧ,ֹ쳣;

**********************************************
ʱ:	2011628  1110

һЩԳĳԪǶʽ,PC80X86ĲԳȫ;
޸дͶ,ʹܴԪ;

ȻоӦúú÷˼һ,ǰʱЧʻ,Ǻʵ
˾QQ,,һʲô.ϲ,ȻоԼ
ֻصǰǶγԱ̵...

Բȹ...

**********************************************
ʱ:	201172  842

ȥ #include  #cpu αָ,ԺҲαָ;
 using 䴦ļ,ʶreferlibcurrentַֻʽ;
ԪǶ,ãһ,ڽͨ.
˹ԪǶ׵﷨;

**********************************************
ʱ:	2011711  1028

޸ʱ:	201174  953

1 ԰ͬԪ,include.csȥusedж;

2 һǰѱдɹ̹ʽ,ԵļΪ뵥Ԫ;

3 ೤ֹ֪ͨһ<>,ڹ̫,Ѿûѧλ֤.  ʮ,ͻѧУ¼
  ȫǩʵϰĵλ... ǩ??? ˲԰׵Ĵѧ...

޸ʱ:	2011711  1028

Ҫ޸ĳɺ׺Ϊ*.uļʽ,ոӹʽд;
Լu.IDEӭ˵ڶû,ٺ

**********************************************
ʱ:	2011717  1014

޸ʱ:	2011712  1015

1 ԹΪλļΪλб(ļֹд),
  һȥMainFormеctext;

޸ʱ:	2011713  847

1 ѽļбزһ;
2 һô;

޸ʱ:	2011715  353

1 ɹʽı,ͨԻù;
2 usingǰ׺Ϊsys_lib/user_lib/this_file/this_project;
3 һЩ·ϵĴ,ԽĿʽĿ;

޸ʱ:	2011717  933

1 ڹб, ԪбͰĵбмͼ;
2 ͨFlashBoxʾ쳣Ϣ,ͨѰť(ûд򿪹̻ļʱȴִز);

**********************************************
ʱ:	2011718 ҹ 046

޸ʱ:	2011718 ҹ 012

  ѽӿʹԪз,﷨ϸ.Ҫд,ое;
  ޸һ,кöûд.һŪúϾûκʵʵ,
  Ŭⲿִ.

  ⼸,оԼܲӦ.,ϣԺ,..ϣиһĹ,
  ǸϣÿĿ,Լϲ,... ϣԺӲһֱ,...

  ׬ĵһ¹,ȻԼⷿ,ӹ˾ȥ,ʼ,ѧ...

**********************************************
ʱ:	2011719 ҹ 031

޸ʱ:	2011718  1107

1 ղָ˺ö,Ҫǰvdataʹunitз,ѽ ̫...
  ְԪͳԱΪԱֱȽϺ,ٺʺvdataԶ;
  ʵúÿ½ṹöٵ,ܶҪóָʽ,ƹ㵽;̬...

޸ʱ:	2011719 ҹ 020

1 ڽһش--ʹԪз,Ѿͨ;
  һЩСС,Ҫǻûд,밲ȫԺܲ,﷨ĳñ...
2 ԺǾ˯,̫. ȥ湫˾豸;

**********************************************
ʱ:	2011720 ҹ 027

޸ʱ:	2011719  1101

1 MemberType(dll,callback); ԪĿΪԪ,;
  ʱ,ҲԪǷ(Ϊûз);

޸ʱ:	2011720 ҹ 004

  ͵Ԫôɵݹ,ʹͨԪʹȫһ,Ƕ;
  (ǰֻñԪ); ֻǴҴ˼,.. ûгֲ;
  ΪֹԼıϾͻŪ,ʣµӦһЩС;

  ڹ˾æоҵŷ,æԼıҹ,ǻǸо˺ö
  ʱ.. ڹ˾豸,һ,ЩеڵԿ²ͣض,
  Լȴû,ûκȤ..СʱһֵͲҪ𿪰Ū,ϵ
  ʹ̲סͣƸ,רռһѵĻеŪ,..
  СʱԼԵĶ,ȴһоû,... ѵΪȤɹ
  ͲȤ?... 뵽Ще.    ˯ȥ...
  
**********************************************
ʱ:	2011721 ҹ 002

޸ʱ:	2011720  255

1 ͸ĳɿʽ,AVRг򶼲ȷ;
2 ѽӿ interfaceȥ,get_??set_??ʶӿڲ¼;
3 һǰѽṹҲĳɿʽ;

޸ʱ:	2011720  432

4 MP3ʱ,selected_itemŵFAT32߾ͱ(ԪǶ׷),
  ǱƵ󷵻ʱ˵һ(index),ʵӦصڶ(UnitIndex);
  ںûмʱƾֲµ,һʲô취ܱ;

³Ĵ(ԪǶ׺,forѭлݹ,ǳ):

public static int GetIndex( string Name )
{
	int index = GetDirectIndex( Name );
	if( index != -1 ) {
		if( NodeSet[ index ].RealRefType == MemberType.RealRefType.Real ) {
			return index;
		}
		else {
			return GetIndex( NodeSet[ index ].TargetMemberName );
		}
	}
	string[] Split = Name.Split( '.' );
	string BaseUnitName = Split[ 0 ];
	int UnitIndex = -1;
	for( int i = 1; i < Split.Length; ++i ) {
		BaseUnitName += "." + Split[ i ];
		UnitIndex = GetDirectIndex( BaseUnitName );
		if( UnitIndex == -1 ) {
			return UnitIndex;
		}
		if( NodeSet[ UnitIndex ].RealRefType == MemberType.RealRefType.link ) {
			BaseUnitName = NodeSet[ UnitIndex ].TargetMemberName;
			int Rindex = GetIndex( BaseUnitName );
			BaseUnitName = NodeSet[ Rindex ].UnitName;
		}
	}
	if( UnitIndex == -1 ) {
		return UnitIndex;
	}
	if( NodeSet[ UnitIndex ].RealRefType == MemberType.RealRefType.Real ) {
		return index; //!!!!!!!!!!!!!!!!!!!!!!!!ע,,Ӧ÷UnitIndex;
	}
	else {
		return GetIndex( NodeSet[ UnitIndex ].TargetMemberName );
	}
}
޸ʱ:	2011721 ҹ 001

Ԫӵṹ,ǻǱʧ,컹Ҫúÿ;

**********************************************
ʱ:	2011721  853

޸ʱ:	2011721  1037

1 ṹưԪ,Ѿ;
2 ԪеĽṹ,ǻͽṹ;

޸ʱ:	2011721  1133

3 ưԪ,;
4 ͵ĺ,úβƥûп,ֱӵĿ꺯;

޸ʱ:	2011721  139

5 ̬ưԪ,;
6 ͵ľ̬,þ̬ûп,ֱӵĿ꾲̬;

޸ʱ:	2011721  224

5 ưԪ,;
6 ͵ĳ,óֵûп,ֱӵĿ곣;

ڱԴոճ2,...

޸ʱ:	2011721  417

7 ѺͳбеһЩתƵڵ,бֻл;
8 ԪбеһЩתƵڵ;
9 ѽṹбеһЩתƵڵ;

10 Ԫⰴչʽ;оƬĳchip,ԭsfr;

**********************************************
ʱ:	2011722 ҹ 013

޸ʱ:	2011721  1145

1 һ,ڽʾ,ڿȷʾ,
  ļûдԶ;Ѿָ;

2 һ򿪹̵Ĳ˵;
  ʱд򿪵ļ;

**********************************************
ʱ:	2011722  908

޸ʱ:	2011721  159

1 жϺĵַԪеĳ,泣();
2 ޸﷨,ֿÿոʾսʵĲιϵ;
  ѽԱõĲֵȡ,ʹ;
3 vdataеĿԪչΪǶ,ԭֻܵʶָ;
4 ȥ&unit&local,ںھͲֶָ֧ñ;

޸ʱ:	2011721  233

  ѵĿȡ,ȥ(uint8), ޸Expression.csе Ŀ( int Index );

޸ʱ:	2011721  413

  Ԫ,ṹ͵ʽչ֮󼴿,ݲֳ֧ͱ;

޸ʱ:	2011721  444

  ѳʽչ֮󼴿;һǴ;
  isOut޸ĳʱŪ,·侲̬(Ѿ);

  췢һܵ(7.22),ԼԽԽƫ뷨,...
  ҲǰԼ̫,һֱΪʽ, Կֹ,...
  ??...
  ֻܲԼСͿ, ˵,˱Ҫ
  , Ҫ...
  ǰΪ,ڽ,һҪת,ȥӦµ...
  ҲԼӱܵĺͲԸȥ,ʵܼܺ...

**********************************************
ʱ:	2011723  1059

޸ʱ:	2011722  1041

  ıʩ,DOWN.. һҪǰϢϷ,ParseType,
  ֤ȷ(ÿvdataͶڵ),ܱ,
  ղ뵽VarTypeпܷnull,ǳûз,ǼæһЩ,
  һֻҪParseType,Ͳ÷,һ쳣ҲVarType
  MessageBoxʾ,Ҳ׷;

޸ʱ:	2011723  1055

  ѱԪ޸һ,ԴLCD1602,DS1302DS18B20һӳ,OK
  
  ԺĴ: ѧһĿа, ᲻Լ...
  ӱʵ,... Ҫǰ˰.
  
**********************************************
ʱ:	2011724 ҹ 049

޸ʱ:	2011724 ??

  ȥstartؼ,system.entry; systemΪؼ,ϵͳԱ;

޸ʱ:	2011723  517

  һ:ǰ߼ȼ+-*/%֮(CԼ),
  дһDS18B20;ȼһ,Ǹ򲻶,:

	//¶ת
	uint16 temp = ds18b20.read_temperature();
	//ȡС
	uint8 temp_dot = (uint8)( temp & 0x000f );
	//ȡ
	uint8 temp_int = (uint8)( temp >> 4 );
	LED.data[ 3 ] = temp_int / 10;
	LED.data[ 4 ] = ( temp_int % 10 ) | 0b1000_0000;  //,...
	LED.data[ 5 ] = temp_dot * 10 / 16;
	LED.data[ 7 ] = 0x0c;

  һͬ·ҪҳԷ,˵ҪΪʦѧ, ٺ.  
  
  һĻʫ,ȻоԼֻصǰѧУʱȥ̻龰..
  ̻ĵ,ʦ,ЩŽ̵ѧ...

޸ʱ:	2011724 ҹ 044

  ղŰѳĶ޸,ʡԵһĴС,Զ,ʡ
  ʱʾ;ĴСö峣ָ,泣,:

  unit config
  {
  	const uint8 length = 2;
  }
  [config.length][4] uint8 array = { 1, 2, 3, 4, 5, 6, 7, 8 };

  ˯...

**********************************************
ʱ:	2011724  1021

޸ʱ:	2011724  1019

  CPUøĳsystem.cpu = ???;Ԫ˼user,չ淶ķʽ,
  ʲôԪ,ļʲô;

**********************************************
ʱ:	2011725 ҹ 143

޸ʱ:	2011725  1014

  ѳԱøĳ"."ָʽ,Դֺ׺λʽ(һ޸);
  ParseеGetTypeĻȡĳɵͨó(GetMembername),;

޸ʱ:	2011725  1035

  ޸һܹؼĵط:﷨"ָ"޸ĳ:

	static ReturnMessage ָ( ReturnMessage r, string[] Cut )
	{
		int TempIndex = Index;
		int TempLength = length;
		r = AssayWord( Cut[ 4 ] );
		if( !r.isRight ) {
			Index = TempIndex;
			length = TempLength;
			return r;
		}
		string result = r.result + " ";
		while( true ) {
			int ttTempIndex = Index;
			int ttTempLength = length;
			r = AssayWord( Cut[ 3 ] );
			if( !r.isRight ) {
				break;
			}
			result += r.result + " ";
			r = AssayWord( Cut[ 4 ] );
			
			//޸,Դ A.B.3 ʽ﷨
			//(ǰ﷨ȫ˻);
			if( !r.isRight ) {
				Index = ttTempIndex;
				length = ttTempLength;
				break;
			}
//			if( !r.isRight ) {
//				Index = TempIndex;
//				length = TempLength;
//				return r;
//			}
			result += r.result + " ";
		}
		result = result.TrimEnd( ' ' );
		result = Cut[ 0 ] + " " + result;
		int Name = AddNode( result.Split( ' ' ) );
		r.isRight = true;
		r.result = Name.ToString();
		return r;
	}

  ޸˱õĶ巽ʽ,ǰ".",ʱ趨Ϊ"[]"ʽ:
  bit SDA = chip.P1[0];
  bit SCL = chip.P1[1];

  ղ޸˱﷨,ڿȫ"."ָ,巽ʽ:
  bit SDA = chip.P1.0[bit];
  bit SCL = chip.P1.1[bit];

  к[bit]ָ,ĬΪbit,ʡ,Ҳ¶:
  bit SDA = chip.P1.0;
  bit SCL = chip.P1.1;

  Ƕʡ:
  uint16 data;
  uint8 data_low = data.0[uint8];	//data_lowָdataĵλֽ
  uint8 data_high = data.8[uint8];	//data_highָdataĸλֽ

޸ʱ:	2011725  132

  ѳԱȡ,   ; ǰ˳,һ
  Բ˳(δ);
  
޸ʱ:	2011725  144

  ڿ˳Ա,:
  public link uint8 data;
  link public uint8 data;

޸ʱ:	2011725  1109

  ȥԭȵɫ,ĳôʷĽɫķʽ,ٶȺܿ,Ժ
  չ߳ʽɫ;

޸ʱ:	2011726 ҹ 143

  ޸ı༭ý,ղ˺öıɫ,ڸо,˯ȥ..

**********************************************
ʱ:	2011727  1020

޸ʱ:	2011726  459

  дһͼwindowsԱ,ԭextendЩļȫϲwindows.u
  ,÷ͺͱĿ.һشBUG:
  ڻصͼӿݲ˵ʱ,

 	//ص
	callback uint32 WndProc( uint32 hWin, uint32 uMsg, uint32 wParam, uint32 lParam )
	{
		if( uMsg == windows.WM_CREATE ) {
			hPopupMenu = user32.CreatePopupMenu();
			user32.AppendMenu( hPopupMenu, windows.MF_STRING, IDM_RESTORE, "&Restore" );
			user32.AppendMenu( hPopupMenu, windows.MF_STRING, IDM_EXIT, "E&xit" );
			return 0;
		}
	}
  ֱַӳڳоͲ,ʾĸ'E',ַַ
  ڳþû,ԭǳַĽ,ַ׺Ҫһ0,ַȲû
  Ӧ1,³,Ǹ֮ı˳(Strings.Lengthֵ˫):

Result += "0";

//ַַ
VarNode v = new VarNode();
string vType = "[" + ( Strings.Length - SwitchCharNumber - 1 ) + "] code uint8";
v.SetStaticValue( "", vType, MemberType.VisitType.Private, MemberType.RealRefType.Real, false, Index );
v.Address = Result;

޸ʱ:	2011727  1120

  ɫЩif elseжϸĳswitchʽ;

޸ʱ:	2011727  706

  Ϣȡдö͵Ķ,ڿڱбʾжöб,
  ڻܶö͵ı;

޸ʱ:	2011727  753

  ڿԶö͵ı,öͿʹ; ǻ֧ö͵;

޸ʱ:	2011728  929

  ﷨ϵĳʼĿ¼ĳ"u", ⴦ "u" ʼԪ;

޸ʱ:	2011728  1103

  ѽԱбԪĲȡ,ͨίʵԴĹ, OK
  cpuʼдu.ʽ: u.cpu = mega32; u.entry = controller.engine;

޸ʱ:	2011728  1219

  cpuΪͨԱ,ͨu.cputype.***: u.cpu = u.cputype.mega32;

޸ʱ:	2011728  607

  codeøĳu.code,Ǻϵͳ,Ϊu.code;

޸ʱ:	2011728  800

  basecodeͨ,ȥǰ׺Ԫ;baseʱbaseȫ滻u.base,
  漰һЩַƳĵطType.Remove( 0, 6 )ĳType.Remove( 0, 8 ),ر״,
  Լûһõıϰ,ԺҪһֹ淶ķʽȥд,ҪһԴд;
  ʲôҪȥ,ֻҪԼĳЧطװ,˵ı˳һط,ֻҪ
  ޸ӦĽӿ,طͶӰ,Ǳ̵뷨;

  һʱ,ԼΪһЩĪ뷨,...֪Ҫ˵Щʲô....
  ,ԼԺԼ뷨ȥ,ȻҪЩûõĶ,..ҪСһ..
  
**********************************************
ʱ:	2011728  1146

޸ʱ:	2011728  1144

  ڽṹ,ڽṹڲĽṹҲ,ͨlinkؼ;

**********************************************
ʱ:	2011729  850

޸ʱ:	2011729  936

  ö͵,һǳõķ:öΪһµĻ,floatһ,ֱ
  תΪʱתΪuint32,ö֮Խ+-&|,:

  enum KEY
  {
	UP, DOWN, LEFT, RIGHT
  }
  enum KEY key = scan_keyboard();
  if( key == KEY.UP | KEY.DOWN ) {
	....
  }
  Ҳ˵öٳ֮öٱ֮Խͨα,߼,ǲܺ;
  öͿԽ,ȷתԭʼöٶ(κγԱlink,Էǳ);
  һǴöٳת;
  һ: ʵĹؼ,ڲöͱʾ: enum:????,ͺͻһ,
  ǰʾenum ??? ͺ鷳; enum:????һ,enum ???? ;
  ҲṹҲӦ....

޸ʱ:	2011729  208

  öȫŪ,öٵĳԱָпָԶĳ:
  unit config
  {
  	public const uint8 UP = 34;
  }
  enum KEY
  {
  	UP = config.UP, DOWN, LEF, RIGHT
  }
  ͬʱڶṹʱṹĳԱ,ͬԱʱʾϢ;

**********************************************
ʱ:	2011730 ҹ 116

޸ʱ:	2011730 ҹ 113

  һ޵ַ,ģĳ˿,תɺ;
  ͨһַ޵ַݵ:ֻʽϲһָ,ɴ:
  
  //ûеַ,һָ,鷳,ռָ;
  string VdataType = VarType.GetStoreType( Type );
  int VdataIndex = VdataList.GetIndex( VdataType );
  if( VdataList.Get( VdataIndex ).AddrType != null ) {
	AddIns( Code1.ȡַ + " " + ei + " " + VarIndex );
  }

**********************************************
ʱ:	2011731  1230

޸ʱ:	2011730 ҹ 217

  һܾĴ,Լ "!=" д "==" , ջ˰ŷ,...
  ˯ȥ... 

޸ʱ:	2011730  929

  ղvdata͵ֵмͼ,ֹͲͬɵ쳣;
  ,һʰȥ˾..
  ˱98%Ĺ(걸﷨98%),Ƶֵ..оûд;

  ȥ˾,û.Ȼû˼ȥ̳,ֵ찲ź͹ʹ.ߵýѾ.
  һ,Ȼ뵽һ,ǰԼıԼһͼν,ֱ
  74595,ds13021602ҺЩͼο,ֱ϶,ߴ˿,϶˼..
  
޸ʱ:	2011731  1040

  vdataаͷƺ,ѵַڵַͺ;

  12,һͬѧȥӳǰһUSBѧϰ.д74595ļԳ,
  OK. ͨļ,ǰһ74595(CP,D,LOCK)ӵһ745958
  ˵,ּʽ. Ӧú~  
  ǽ20д͸㶨, "˿" ʵ;

**********************************************
ʱ:	201181  909

޸ʱ:	201181 1 110

  ݶʽһ,ͺ͵ַͷһֵ: unit = ***; type = [*,*]bit;

޸ʱ:	201181  332

   && ^^ || ȼֳ3,û;

**********************************************
ʱ:	201181 ????

޸ʱ:	201181  1007

  ѳбͱбϲһ,֪ΪʲôǷֿ.. ͨ;

޸ʱ:	201182  1045

  ѳĳɺͱһ,ȥconstؼ,
  ԭĸʽ:	const uint8 WIDTH = 200;
  ڵĸʽ:	uint8 WIDTH	  = [u.const]500;

  ѱַ趨ĳʽ,
  ԭĸʽ:	uint8 P1	= @0x80;
  ڵĸʽ:	uint8 P1	= [u.addr]0x80;

޸ʱ:	201182  222

  ˺ָһЩ֧,Զ庯ָ,޷;ֱϵͳӦ,
  Ŀǰе,Щģ..ҪһֶԳƵϵͳ,֧(C++);

**********************************************
¼ʱ:	201187  1059

  ⼸һֱָ,Լ淶ϵͳӦʲô...ͷ.
  վ:ȥָ,C#Ϊֵͺ,ͨһЩ취ʹʵָĹ;

  Ϧ, ţɺ֯Ů,.. ѽ@#%&$&^%$&*#$

**********************************************
¼ʱ:	201188  904

  ڰָõĹϵŪ,һǳõĹϵȥָ,C#еװͲ
  һ...ֵָ,..
  °,Ŵ...Ȼȥȹ,˳,һվͶס,û취
  ³,Լ. Ҳûɡ,µû..ʧǵһСʱߵסĵط..

**********************************************
¼ʱ:	2011811  11:20

  úֵ͵ĹϵŪ,һ;

**********************************************
¼ʱ:	2011819  11:54

  ְ,ѧУμӵƴ,ȻһĿ;ȥзӳЩԪ׼,
  ȥǵһпµٺ͵,Ƚʿ;



